@keyframes pop {
  0% {
    transform: scale(1);
    box-shadow: var(--box-shadow);
  }
  100% {
    transform: scale(var(--scale));
    box-shadow: var(--box-shadow-picked-up);
  }
}

@keyframes fadeIn {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}

.Wrapper {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  margin: 0;
  box-sizing: border-box;
  transform: translate3d(var(--translate-x, 0), var(--translate-y, 0), 0) scaleX(var(--scale-x, 1))
    scaleY(var(--scale-y, 1));
  transform-origin: 0 0;
  touch-action: manipulation;
}

.Wrapper.fadeIn {
  animation: fadeIn 500ms ease;
}

.Wrapper.dragOverlay {
  transition: box-shadow 200ms cubic-bezier(0.18, 0.67, 0.6, 1.22);
  box-shadow: var(--box-shadow-picked-up);
  z-index: 999;
  opacity: 1;
}

.Wrapper.dragging:not(.dragOverlay) {
  opacity: var(--dragging-opacity, 0.5);
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  z-index: 0;
}

.ListItem {
  list-style: none;
}

.Item {
  position: relative;
  display: flex;
  gap: 0.5rem;
  flex-grow: 1;
  align-items: center;
  outline: none;
  border-radius: calc(4px / var(--scale-x, 1));
  box-sizing: border-box;
  list-style: none;
  transform-origin: 50% 50%;
  white-space: nowrap;
  transform: scale(var(--scale, 1));
  transition: box-shadow 200ms cubic-bezier(0.18, 0.67, 0.6, 1.22);
}

.Item:not(.withHandle) {
  touch-action: manipulation;
  cursor: grab;
}

.Item.disabled {
  color: #999;
  background-color: #f1f1f1;
  cursor: not-allowed;
}

.Item span {
  user-select: none;
}
